]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
texture-cache: always call gdk_pixbuf_loader_set_size
authorCosimo Cecchi <cosimoc@gnome.org>
Sun, 23 Mar 2014 03:26:09 +0000 (20:26 -0700)
committerCosimo Cecchi <cosimoc@gnome.org>
Fri, 28 Mar 2014 17:53:01 +0000 (10:53 -0700)
Just use the regular image size if we don't want to scale it. This is a
refactor in preparation for the next commit.

https://bugzilla.gnome.org/show_bug.cgi?id=726907

src/st/st-texture-cache.c

index 2a0036d5f21dbdeab311b78458096db7db5136fe..c194ec5dbbc9e61040e7b8c7d95fdf5eb59571b6 100644 (file)
@@ -178,7 +178,7 @@ st_texture_cache_finalize (GObject *object)
   G_OBJECT_CLASS (st_texture_cache_parent_class)->finalize (object);
 }
 
-static gboolean
+static void
 compute_pixbuf_scale (gint      width,
                       gint      height,
                       gint      available_width,
@@ -189,7 +189,10 @@ compute_pixbuf_scale (gint      width,
   int scaled_width, scaled_height;
 
   if (width == 0 || height == 0)
-    return FALSE;
+    {
+      *new_width = *new_height = 0;
+      return;
+    }
 
   if (available_width >= 0 && available_height >= 0)
     {
@@ -225,9 +228,12 @@ compute_pixbuf_scale (gint      width,
     {
       *new_width = scaled_width;
       *new_height = scaled_height;
-      return TRUE;
     }
-  return FALSE;
+  else
+    {
+      *new_width = width;
+      *new_height = height;
+    }
 }
 
 static void
@@ -314,9 +320,12 @@ on_image_size_prepared (GdkPixbufLoader *pixbuf_loader,
   int scaled_width;
   int scaled_height;
 
-  if (compute_pixbuf_scale (width, height, available_width, available_height,
-                            &scaled_width, &scaled_height))
-    gdk_pixbuf_loader_set_size (pixbuf_loader, scaled_width, scaled_height);
+  compute_pixbuf_scale (width, height, available_width, available_height,
+                        &scaled_width, &scaled_height);
+
+  gdk_pixbuf_loader_set_size (pixbuf_loader,
+                              scaled_width,
+                              scaled_height);
 }
 
 static GdkPixbuf *